import { IPSDEAction } from './ipsdeaction';
import { IPSDELogic } from '../logic/ipsdelogic';

/**
 *
 * 继承父接口类型值[DELOGIC]
 * @export
 * @interface IPSDELogicAction
 */
export interface IPSDELogicAction extends IPSDEAction {
  /**
   * 行为持有者
   * @description 值模式 [逻辑所有者] {1：后台、 2：前台、 3：后台及前台 }
   * @type {( number | 1 | 2 | 3)}
   * @default 3
   */
  actionHolder: number | 1 | 2 | 3;

  /**
   * 实体处理逻辑
   *
   * @type {IPSDELogic}
   */
  getPSDELogic(): IPSDELogic | null;

  /**
   * 实体处理逻辑
   *
   * @type {IPSDELogic}
   */
  get psDELogic(): IPSDELogic | null;

  /**
   * 实体处理逻辑（必须存在）
   *
   * @type {IPSDELogic}
   */
  getPSDELogicMust(): IPSDELogic;
}
